import request from '@/utils/request';
import type { BaseBeanModel, ResponseBaseData } from '@/api/model/baseModel';
const basePath = '/syslog/syslogconfigfields';
/** 日志配置字段表 */
export interface SysLogConfigFieldDto extends BaseBeanModel {
  /** 日志配置表Id */
  logConfigId?: string;
  /** 属性名称 */
  fieldName?: string;
  /** 属性标题 */
  fieldTitle?: string;
  /** 字段类型 */
  fieldType?: string;
  /** 数据库映射字段 */
  fieldColumn?: string;
  /** 输入类型 */
  dataType?: string;
  /** 通用代码/自定义转换 */
  dataValue?: string;
  /** 日志标识 */
  fieldExplicit?: string;
  /** 排序号 */
  orderBy?: number;
  /** 应用ID */
  sysApplicationId?: string;
}

/**
 * 获取分页数据
 * @param id 主表id
 * @returns 表格数据
 */
export function listSysLogConfigFieldByPage(id: string) {
  return request.get(`${basePath}/get-by-pid/${id}/v1`);
}

/** 根据id加载数据 */
export function getSysLogConfigField(id: string): Promise<ResponseBaseData<SysLogConfigFieldDto>> {
  return request.get(`${basePath}/get/${id}/v1`);
}

/**
 * 保存表单数据
 * @param form 表单数据
 * @param pid 主表id
 */
export function saveSysLogConfigField(form, pid: string) {
  return request.post(`${basePath}/save-by-batch/${pid}/v1`, form);
}

/**
 * 根据id集合删除数据
 * @param id 选中行id
 */
export function delSysLogConfigField(ids: [string]): Promise<ResponseBaseData<any>> {
  return request.delete(`${basePath}/delete-by-ids/v1`, { data: ids });
}

/**
 * 获取添加按钮列表数据
 * @param param 表格参数
 * @param id 父表id
 * @param servcieName 编码名称
 * @returns 表格数据
 */
export function searchFieldListByPage(param, id, servcieName) {
  return request({
    url: `/syslog/syslogconfigs/search-field-list-by-page/${servcieName}/${id}/v1`,
    data: param,
    method: 'post'
  });
}
